1. Field of Invention
This invention relates to a software simulation of a computer factory's automated system that downloads and installs purchased software packages to a computer being manufactured. This simulation allows the factory's automated software delivery system to be tested prior to implementation in a manufacturing environment. The invention simulates the manufacturing environment so that problems that would be encountered during the manufacturing process can be quickly corrected prior to being implemented on the manufacturing floor.
2. Description of the Prior Art
One stage in the manufacturing of a computer involves installing the appropriate software packages on the hard drive of the system. In this stage, operating system software, software required to drive the various hardware components, and application software are installed. Specifically, a personal computer is loaded with software applications according to a customer order. The nature of a personal computer (P.C.) requires that the software and components installed on the P.C. be configurable to a customer's needs. In other words, a customer may order a specific type of modem, hard drive, random access memory (RAM), monitor, and other hardware devices. Further, a customer may require a specific operating system such as Windows 2000, or another specific operating system. Depending upon the use of which the customer is going to make of the P.C., various software applications are required. The configurable nature of the P.C. dictates that the manufacturing process of customer configurable P.C.'s to be able to handle lot sizes of one.
In order for a manufacturing entity to be able to tailor a P.C. to a customer order, there exists a need for the installed software on each P.C. in a customer order to be configured on the manufacturing floor without human intervention. The most effective way to configure a P.C. is to use an automated process that downloads and installs software packages to each individual P.C. and further does various quality checks on the P.C. itself in order to determine that each hardware option is installed correctly. This installation should correspond to the customer order of the P.C. Traditionally, this process has been automated. The problem, however, is that inserting new models and options into the automated process requires extensive engineering man-hours to properly test these changes before they can be released to the manufacturing floor.
This invention relates to a software download installation simulation. The process that is undergone on the manufacturing floor, is simulated by this invention. The simulation is performed in a testing environment or lab environment in order to determine whether the installation will be successful on the manufacturing floor. Not only does this invention create a more efficient manufacturing process, but this process also creates a more effective maintenance arena with respect to software reuse. This type of testing environment also creates a more cost-effective mode of testing the software download process prior to implementing the process in the manufacturing environment because it requires fewer engineering man-hours than the conventional manual method of testing a download system.
A target computer is the computer being manufactured onto which software must be loaded to conform to customer specifications. At a given time on the manufacturing floor there exists a plurality of target computers onto which a plurality of target-specific customer specified software packages must be loaded.
The plurality of target computers are communicatively linked to a file server via a network, a direct connection or any other type of communications link known in the art. The file server can be a computer server of any type of platform, including but not limited to DOS, UNIX, or Windows™.
A master token file resides on the file server. This master token file contains a list of all models and corresponding options that are available for download to a target system. Each model entry in the master token file is associated with a list of directives which, when executed will install specific software onto the associated model. The master token file is copied from the server to the plurality of target computers via the communication link between the server and the plurality of target computers. Each target computer receives a master token file copied from the server. This file can be sent to the target computers via FTP, a command line copy, or any other transferring mechanism available.
An informative file, an electronic traveler, resides on each target computer. The electronic traveler is responsible for recording the customer's order. Specifically, a reserved word is followed by a model type in the electronic traveler. The electronic traveler can contain other information about the specific requirements of the customer order. However, for the automated software download process to work, a model type must be indicated. Optionally, if one or more factory installed options have been ordered, then they are listed in the electronic traveler as well.
After the master token file is copied to the target computer, an independent process creates a master batch file that is responsible for actually downloading, installing and checking the software deliverables. This master batch file is created by converging the model type information contained in the electronic traveler with the information contained in the master token file. This master batch file contains command lines that copy and execute the installation batch files for the ordered software packages. The master batch file begins the process of downloading the software. The master batch file originates a recursive process that installs each customer-requested software package onto the target computer. Each installation batch file is called in turn. These installation batch files branch out and execute programs that retrieve and install application software.
The problem with this process is that it must be fully executed to be tested. It must be executed in the lab for debugging. It must then be executed again on the manufacturing floor prior to its release acceptance. If an error were encountered in the sequential process of installing the various software modules on the target computer, the process would have to be stopped, and the error would then have to be fixed. Once the problem was fixed, the sequential process that installs the software on the target computer would then have to start over. After starting over, the process may get somewhat further in the installation procedure, however, it may run into another error. Again, the process would have to be stopped, and the problem would have to be fixed. The process would then have to be started over. This form of download testing must complete successfully before releasing it to the manufacturing department. The manufacturing department must successfully repeat the test on at least one target computer before releasing the process to general production. Manufacturing's test is designed to ensure that all of the software components of the download system are available to the target computers from manufacturing's array of download servers. When orders for a new product are released to manufacturing to be built, any flaw in the automated process will stop the factory. The down-time on the manufacturing line associated with not performing this type of test sequence has a detrimental impact on the cost associated with building these target computers for customer delivery. The only way to avoid this down-time is through exhaustive testing which often leads to missing contractually obligated deadlines. A new process is needed to reduce the hours and days involved in the iterative debugging process.
This invention creates, in a lab environment, a simulation of the software installation on the target computers for any specific combination of model and factory installed options. The testing environment is used to predetermine errors or problems that may occur in the download process. This predetermination, because it is confined to a lab environment or testing environment, does not create manufacturing floor down-time. Since the predetermination typically takes place in less than five minutes, hours of repetitive test downloading can be saved. Consequently, employing the simulation to predetermine the reliability of the installation process creates considerable manufacturing cost savings.
The simulation is a process that determines the reliability and viability of the master batch file and all batch files that are recursively called from it. Prior to implementing a new software installation batch file in the manufacturing environment, the master batch file is tested by the simulation before beginning a download test.